package com.encryption.util;

import java.util.Properties;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.encryption.service.ca.util.CryptoUtil;
import com.log4ic.utils.io.FileUtils;


public class ConfigProperties {

	private static final Logger log = LoggerFactory.getLogger(ConfigProperties.class);
	private static Properties props;

	static {
		try {
			props = FileUtils.getProperty(System.getProperty("catalina.home") + "/conf/config.properties");
		} catch (Throwable e) {
			System.out.println("错误,config.properties不存在或者加载错误!");
		} 

	}

	public static String getProperty(String key, String defVal) {
		return props.getProperty(key, defVal);
	}
	
	public static void setProperty(String key, String value) {
		String path = System.getProperty("catalina.home") + "/conf/config.properties";
		FileUtils.writeProperties(path, key, value);
	}

	public static String getProperty(String key) {
		return getProperty(key, null);
	}
	
//	public static void main(String[] args) throws Exception {
//		String path = "D:/Run/encryption/conf/config.properties"; 
////		setProperty("user.id", "aaa");
////		setProperty("user.id", "aaa");
//		props = FileUtils.getProperty(path);
////		FileUtils.writeProperties(path, "user.code", "bbb");
////		FileUtils.writeProperties(path, "user.id", "aaa");
////		props.getProperty("user.code");
//		
//		String code = ConfigProperties.getProperty(ConfigPropertyContanst.USER_CODE);
//		String value = ConfigProperties.getProperty(ConfigPropertyContanst.USER_VALUE);
//		if(code == null || "".equals(code) || value == null || "".equals(value)){
//			System.exit(-1);
//			return;
//		}
//		
//		String mac = MACAddressUtil.getMACAddress();
//		String md5Mac = CryptoUtil.md5(mac);
//		long curTime = System.currentTimeMillis();
//		if(code.equals(ConfigPropertyContanst.USER_DEFAULT) && value.equals(ConfigPropertyContanst.USER_DEFAULT)){
//			ConfigProperties.setProperty(ConfigPropertyContanst.USER_CODE, md5Mac);
//			ConfigProperties.setProperty(ConfigPropertyContanst.USER_VALUE, curTime + "");
//		}else if(md5Mac.equals(code)){
//			long time = Long.parseLong(value);
//			if(curTime - time >= (30L * 24 * 60 * 60 * 1000)){
//				System.exit(-1);
//				return;
//			}
//		}else{
//			System.exit(-1);
//			return;
//		}
//	}
	
}
